package com.jxdinfo.hussar.cloud.module.example.tjjc.towernoticeperson.service;

import com.jxdinfo.hussar.cloud.module.example.tjjc.towernoticeperson.model.TowerNoticePerson;
import com.jxdinfo.hussar.cloud.module.example.tjjc.towernoticeperson.vo.TowerNoticePersonSearchVO;
import com.jxdinfo.hussar.cloud.module.example.tjjc.towernoticeperson.vo.TowerNoticePersonVO;
import com.jxdinfo.hussar.support.mp.base.service.HussarService;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jxdinfo.hussar.cloud.module.example.tjjc.towernoticeperson.vo.TowerNoticePersonPageVO;
import com.jxdinfo.hussar.platform.core.base.apiresult.ApiResponse;

import java.util.List;

/**
 * 塔机通知人员服务类
 */
public interface TowerNoticePersonService extends HussarService<TowerNoticePerson> {

    /**
     * 塔机通知人员分页查询
     *
     * @param towerNoticePersonSearchVO
     * @return 查询结果
     */
    ApiResponse<TowerNoticePersonPageVO> findByPage(TowerNoticePersonSearchVO towerNoticePersonSearchVO);

    /**
     * 塔机通知人员条件查询
     *
     * @param towerNoticePersonSearchVO
     * @return 查询结果
     */
    ApiResponse<List<TowerNoticePersonVO>> findByList(TowerNoticePersonSearchVO towerNoticePersonSearchVO);

    /**
     * 塔机通知查询已读人员
     *
     * @param towerNoticePersonSearchVO
     * @return 查询结果
     */
    ApiResponse<String> findNoticePerson(TowerNoticePersonSearchVO towerNoticePersonSearchVO);

    /**
     * 塔机通知人员新增
     *
     * @param towerNoticePersonSearchVO
     * @return 查询结果
     */
    ApiResponse<String> add(TowerNoticePersonSearchVO towerNoticePersonSearchVO);

    /**
     * 塔机通知人员修改
     *
     * @param towerNoticePersonSearchVO
     * @return 查询结果
     */
    ApiResponse<String> updateTowerNoticePerson(TowerNoticePersonSearchVO towerNoticePersonSearchVO);

    /**
     * 塔机通知人员删除
     *
     * @param towerNoticePersonSearchVO
     * @return 查询结果
     */
    ApiResponse<String> deleteById(TowerNoticePersonSearchVO towerNoticePersonSearchVO);
}
